package com.design.proxy.dynamic;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * @ClassName GamePlayH.java
 * @Description 动态代理类 
 * @author Jon
 * @date 2018年6月14日 下午1:50:30
 */
public class GamePlayH implements InvocationHandler {
	Class cls = null;
	
	Object obj = null;
	
	public GamePlayH(Object obj) {
		this.obj = obj;
	}

	@Override
	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
		//执行被代理的方法
		Object result = method.invoke(this.obj, args);
		/*
		 * 在登录方法被调用的时候会发送一个日志信息，可查看账户登录信息，这就是AOP编程。
		 */
		if (method.getName().equalsIgnoreCase("login")) {
			System.out.println("有人在登录我的游戏账号！");
		}
		return result;
	}

}
